package com.ken.teacher.mapper;

import com.ken.common.pojo.*;
import com.ken.common.pojo.Class;
import com.ken.teacher.dto.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

@Mapper
public interface teacherMapper {
    void createClass(Class Class);
    void CreateQuestion(Question question);
    void create_homework(homeworkDto homework);
    homework getHomeworkById(String homeworkId);
    List<student> getClassStudent(String class_id);
    void post_homework(@Param("student_id") String student_id, @Param("homework_id") String homework_id, @Param("assignment_date")LocalDateTime assignment_date,@Param("due_date") LocalDateTime due_date);
    void post_homeworkToClass(post_homeworkDto dto);
    void add_question(add_questionDto dto);
    void create_paper(paper paper);
    void add_paperQuestion(add_paperQuestionDto questionDto);
    void create_exam(exam exam);
    void post_exam(@Param("student_id") String student_id,@Param("exam_id") String exam_id);
    void change_pageQ_num();
    void change_homeworkStatus(change_statusDto dto);
    void change_examStatus(change_statusDto dto);
    void grade_assignments(grade_assignmentDto assignmentDto);
    void change_studentHomework(@Param("student_id") String student_id,@Param("homework_id") String homework_id,@Param("score") int score);
    void create_unit(unitDto dto);
    //void create_lesson(create_lessonDto dto);
    void create_course(create_courseDto dto);
    List<course> getCourseByTeacherId(String teacher_id);
    teacher getInfById(String teacher_id);
    void update_question(update_questionDto dto);
    void update_homeworkTime(LocalDateTime update_time);
    void save_message(message message);
    void post_message(@Param("student_id") String student_id,@Param("message_id") String message_id);
    void save_attendanceRecord(attendance_record attendanceRecord);
    void update_attendanceRecord(attendance_record attendanceRecord);
    void create_lesson(lessons lessons);
    void update_lesson(lessons lesson);
    void update_unit(unit unit);
    void delete_lesson(@Param("lesson_id") String lesson_id);
    void delete_unit(@Param("unit_id") String unit_id);
    void create_courseware(courseware courseware);
    void update_courseware(courseware courseware);
    List<courseware> getCourseware(@Param("teacher_id") String teacher_id,@Param("courseware_id") String courseware_id,@Param("course_id") String course_id);
    void post_resources(resources resources);
    List<resources> get_resources(@Param("class_id") String class_id,@Param("resources_id") String resources_id);
}
